class Solution {
public:
    int longestSubarray(vector<int>& nums) {
        int l=0,r=0,pos_zero=-1,res=0,cur=0;
        while(r<nums.size()){
            if(!nums[r])
            {
                if(pos_zero!=-1){
                    res=max(res,r-l-1); 
                    l=pos_zero+1;
                }
                pos_zero=r;
            }
            r++;
        }
        res=max(res,r-l-1);
        return res;
    }
};